package com.zkt.auth.domain.service;

import com.zkt.auth.domain.entity.AuthPermissionBO;

import java.util.List;

/**
 * @author 赵开泰
 * @program jc-club
 * @date 2024/9/30
 * @description 权限领域服务
 **/

public interface AuthPermissionDomainService {
	
	/**
	 * 新增权限
	 *
	 * @param authPermissionBO 权限信息
	 * @return 是否成功
	 */
	Boolean add(AuthPermissionBO authPermissionBO);
	
	/**
	 * 修改权限
	 *
	 * @param authPermissionBO 权限信息
	 * @return 是否成功
	 */
	Boolean update(AuthPermissionBO authPermissionBO);
	
	/**
	 * 删除权限
	 *
	 * @param authPermissionBO 权限信息
	 * @return 是否成功
	 */
	Boolean delete(AuthPermissionBO authPermissionBO);
	
	/**
	 * 权限启用/禁用
	 *
	 * @param authPermissionBO 权限信息
	 * @return 是否成功
	 */
	Boolean changeStatus(AuthPermissionBO authPermissionBO);
	
	/**
	 * 权限展示/隐藏
	 *
	 * @param authPermissionBO 权限信息
	 * @return 是否成功
	 */
	Boolean changeShowStatus(AuthPermissionBO authPermissionBO);
	
	/**
	 * 查询用户权限
	 *
	 * @param userName 用户名称/账号
	 * @return 权限列表
	 */
	List<String> getPermission(String userName);
}
